<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LibDriver W25QXX: w25qxx basic driver function</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="doxygen.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">LibDriver W25QXX
   &#160;<span id="projectnumber">1.0.0</span>
   </div>
   <div id="projectbrief">W25QXX full-featured driver</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__w25qxx__basic__driver.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">w25qxx basic driver function<div class="ingroups"><a class="el" href="group__w25qxx__driver.html">w25qxx driver function</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>w25qxx basic driver modules  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structw25qxx__handle__s.html">w25qxx_handle_s</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">w25qxx handle structure definition  <a href="structw25qxx__handle__s.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structw25qxx__info__s.html">w25qxx_info_s</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">w25qxx information structure definition  <a href="structw25qxx__info__s.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga56d8a7b5f8b7eaed8df0b6dc90c266be"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structw25qxx__handle__s.html">w25qxx_handle_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a></td></tr>
<tr class="memdesc:ga56d8a7b5f8b7eaed8df0b6dc90c266be"><td class="mdescLeft">&#160;</td><td class="mdescRight">w25qxx handle structure definition  <a href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">More...</a><br /></td></tr>
<tr class="separator:ga56d8a7b5f8b7eaed8df0b6dc90c266be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga601d841ddd0ff8ad3ab52e07c679ef19"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structw25qxx__info__s.html">w25qxx_info_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga601d841ddd0ff8ad3ab52e07c679ef19">w25qxx_info_t</a></td></tr>
<tr class="memdesc:ga601d841ddd0ff8ad3ab52e07c679ef19"><td class="mdescLeft">&#160;</td><td class="mdescRight">w25qxx information structure definition  <a href="group__w25qxx__basic__driver.html#ga601d841ddd0ff8ad3ab52e07c679ef19">More...</a><br /></td></tr>
<tr class="separator:ga601d841ddd0ff8ad3ab52e07c679ef19"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga6cb4e5164464df549201dd96cb7a58b1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga6cb4e5164464df549201dd96cb7a58b1">w25qxx_type_t</a> { <br />
&#160;&#160;<a class="el" href="group__w25qxx__basic__driver.html#gga6cb4e5164464df549201dd96cb7a58b1a1ad4f72437de5f26cb7b212d4d91e7c2">W25Q80</a> = 0XEF13U
, <a class="el" href="group__w25qxx__basic__driver.html#gga6cb4e5164464df549201dd96cb7a58b1a66acb81a2d520a7d92ce1d37210c6435">W25Q16</a> = 0XEF14U
, <a class="el" href="group__w25qxx__basic__driver.html#gga6cb4e5164464df549201dd96cb7a58b1a4fdad551be6485441db5951f196db7cb">W25Q32</a> = 0XEF15U
, <a class="el" href="group__w25qxx__basic__driver.html#gga6cb4e5164464df549201dd96cb7a58b1a3ea98b2b3e06afa29441c51548bbb16e">W25Q64</a> = 0XEF16U
, <br />
&#160;&#160;<a class="el" href="group__w25qxx__basic__driver.html#gga6cb4e5164464df549201dd96cb7a58b1a75afcbe71906d3884f4fcc119c1cabd5">W25Q128</a> = 0XEF17U
, <a class="el" href="group__w25qxx__basic__driver.html#gga6cb4e5164464df549201dd96cb7a58b1ab6db6bd31731e4e95040e8d47f0e45ca">W25Q256</a> = 0XEF18U
, <a class="el" href="group__w25qxx__basic__driver.html#gga6cb4e5164464df549201dd96cb7a58b1a5bd3078157449d9ba4ed74f94e5f6eb0">W25Q512</a> = 0XEF19U
, <a class="el" href="group__w25qxx__basic__driver.html#gga6cb4e5164464df549201dd96cb7a58b1a69e58baba71411544e64abea679090bb">W25Q1024</a> = 0XEF20U
, <br />
&#160;&#160;<a class="el" href="group__w25qxx__basic__driver.html#gga6cb4e5164464df549201dd96cb7a58b1a8daad13a8f1372188bfb9c4f1abf9667">W25Q2048</a> = 0XEF21U
<br />
 }</td></tr>
<tr class="memdesc:ga6cb4e5164464df549201dd96cb7a58b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">w25qxx type enumeration definition  <a href="group__w25qxx__basic__driver.html#ga6cb4e5164464df549201dd96cb7a58b1">More...</a><br /></td></tr>
<tr class="separator:ga6cb4e5164464df549201dd96cb7a58b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacbf327a42336baf10713a1796ff4f2fe"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#gacbf327a42336baf10713a1796ff4f2fe">w25qxx_interface_t</a> { <a class="el" href="group__w25qxx__basic__driver.html#ggacbf327a42336baf10713a1796ff4f2feafea09c65f02cf1a91216205ed21cf4e8">W25QXX_INTERFACE_SPI</a> = 0x00
, <a class="el" href="group__w25qxx__basic__driver.html#ggacbf327a42336baf10713a1796ff4f2fea895dcb5c91da89fad1c12161ffd2d5d4">W25QXX_INTERFACE_QSPI</a> = 0x01
 }</td></tr>
<tr class="memdesc:gacbf327a42336baf10713a1796ff4f2fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">w25qxx interface enumeration definition  <a href="group__w25qxx__basic__driver.html#gacbf327a42336baf10713a1796ff4f2fe">More...</a><br /></td></tr>
<tr class="separator:gacbf327a42336baf10713a1796ff4f2fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb2690946f5baf4be6f3a63dde5491fb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#gafb2690946f5baf4be6f3a63dde5491fb">w25qxx_bool_t</a> { <a class="el" href="group__w25qxx__basic__driver.html#ggafb2690946f5baf4be6f3a63dde5491fba02afbdc2c6c3d761cd31ac39c857ee9a">W25QXX_BOOL_FALSE</a> = 0x00
, <a class="el" href="group__w25qxx__basic__driver.html#ggafb2690946f5baf4be6f3a63dde5491fbae2a935d12b0b1bc9fc321246ee0e0df8">W25QXX_BOOL_TRUE</a> = 0x01
 }</td></tr>
<tr class="memdesc:gafb2690946f5baf4be6f3a63dde5491fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">w25qxx bool enumeration definition  <a href="group__w25qxx__basic__driver.html#gafb2690946f5baf4be6f3a63dde5491fb">More...</a><br /></td></tr>
<tr class="separator:gafb2690946f5baf4be6f3a63dde5491fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa4c45f146d1ade8a2da8e751818fa4a2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#gaa4c45f146d1ade8a2da8e751818fa4a2">w25qxx_address_mode_t</a> { <a class="el" href="group__w25qxx__basic__driver.html#ggaa4c45f146d1ade8a2da8e751818fa4a2a3ed0d9a1ce66f96f0ef6baba28869503">W25QXX_ADDRESS_MODE_3_BYTE</a> = 0x00
, <a class="el" href="group__w25qxx__basic__driver.html#ggaa4c45f146d1ade8a2da8e751818fa4a2aa29a90b6728795aa010735e44a5292fe">W25QXX_ADDRESS_MODE_4_BYTE</a> = 0x01
 }</td></tr>
<tr class="memdesc:gaa4c45f146d1ade8a2da8e751818fa4a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">w25qxx address mode enumeration definition  <a href="group__w25qxx__basic__driver.html#gaa4c45f146d1ade8a2da8e751818fa4a2">More...</a><br /></td></tr>
<tr class="separator:gaa4c45f146d1ade8a2da8e751818fa4a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga996e2d3009432e7f8c1a5175c4438a57"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga996e2d3009432e7f8c1a5175c4438a57">w25qxx_info</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga601d841ddd0ff8ad3ab52e07c679ef19">w25qxx_info_t</a> *info)</td></tr>
<tr class="memdesc:ga996e2d3009432e7f8c1a5175c4438a57"><td class="mdescLeft">&#160;</td><td class="mdescRight">get chip's information  <a href="group__w25qxx__basic__driver.html#ga996e2d3009432e7f8c1a5175c4438a57">More...</a><br /></td></tr>
<tr class="separator:ga996e2d3009432e7f8c1a5175c4438a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga665139209b0abc386474a78d89cce6f2"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga665139209b0abc386474a78d89cce6f2">w25qxx_set_dual_quad_spi</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, <a class="el" href="group__w25qxx__basic__driver.html#gafb2690946f5baf4be6f3a63dde5491fb">w25qxx_bool_t</a> enable)</td></tr>
<tr class="memdesc:ga665139209b0abc386474a78d89cce6f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">enable or disable the dual quad spi  <a href="group__w25qxx__basic__driver.html#ga665139209b0abc386474a78d89cce6f2">More...</a><br /></td></tr>
<tr class="separator:ga665139209b0abc386474a78d89cce6f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad4c9b8b0a2d0916c13567f9d7e494cf8"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#gad4c9b8b0a2d0916c13567f9d7e494cf8">w25qxx_get_dual_quad_spi</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, <a class="el" href="group__w25qxx__basic__driver.html#gafb2690946f5baf4be6f3a63dde5491fb">w25qxx_bool_t</a> *enable)</td></tr>
<tr class="memdesc:gad4c9b8b0a2d0916c13567f9d7e494cf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the dual quad spi status  <a href="group__w25qxx__basic__driver.html#gad4c9b8b0a2d0916c13567f9d7e494cf8">More...</a><br /></td></tr>
<tr class="separator:gad4c9b8b0a2d0916c13567f9d7e494cf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa57189cd4170b73f8b1300ca15e27de6"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#gaa57189cd4170b73f8b1300ca15e27de6">w25qxx_set_type</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, <a class="el" href="group__w25qxx__basic__driver.html#ga6cb4e5164464df549201dd96cb7a58b1">w25qxx_type_t</a> type)</td></tr>
<tr class="memdesc:gaa57189cd4170b73f8b1300ca15e27de6"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the chip type  <a href="group__w25qxx__basic__driver.html#gaa57189cd4170b73f8b1300ca15e27de6">More...</a><br /></td></tr>
<tr class="separator:gaa57189cd4170b73f8b1300ca15e27de6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga685379998dad173b6d9c0b0da270685c"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga685379998dad173b6d9c0b0da270685c">w25qxx_get_type</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, <a class="el" href="group__w25qxx__basic__driver.html#ga6cb4e5164464df549201dd96cb7a58b1">w25qxx_type_t</a> *type)</td></tr>
<tr class="memdesc:ga685379998dad173b6d9c0b0da270685c"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the chip type  <a href="group__w25qxx__basic__driver.html#ga685379998dad173b6d9c0b0da270685c">More...</a><br /></td></tr>
<tr class="separator:ga685379998dad173b6d9c0b0da270685c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50a62003d566402d46ada2f272c41eb5"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga50a62003d566402d46ada2f272c41eb5">w25qxx_set_interface</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, <a class="el" href="group__w25qxx__basic__driver.html#gacbf327a42336baf10713a1796ff4f2fe">w25qxx_interface_t</a> interface)</td></tr>
<tr class="memdesc:ga50a62003d566402d46ada2f272c41eb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the chip interface  <a href="group__w25qxx__basic__driver.html#ga50a62003d566402d46ada2f272c41eb5">More...</a><br /></td></tr>
<tr class="separator:ga50a62003d566402d46ada2f272c41eb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86ef839d475f3926a0be46bbc18d4b45"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga86ef839d475f3926a0be46bbc18d4b45">w25qxx_get_interface</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, <a class="el" href="group__w25qxx__basic__driver.html#gacbf327a42336baf10713a1796ff4f2fe">w25qxx_interface_t</a> *interface)</td></tr>
<tr class="memdesc:ga86ef839d475f3926a0be46bbc18d4b45"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the chip interface  <a href="group__w25qxx__basic__driver.html#ga86ef839d475f3926a0be46bbc18d4b45">More...</a><br /></td></tr>
<tr class="separator:ga86ef839d475f3926a0be46bbc18d4b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0e125eff304ce66fb3956d2c8c80656"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#gad0e125eff304ce66fb3956d2c8c80656">w25qxx_set_address_mode</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, <a class="el" href="group__w25qxx__basic__driver.html#gaa4c45f146d1ade8a2da8e751818fa4a2">w25qxx_address_mode_t</a> mode)</td></tr>
<tr class="memdesc:gad0e125eff304ce66fb3956d2c8c80656"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the chip address mode  <a href="group__w25qxx__basic__driver.html#gad0e125eff304ce66fb3956d2c8c80656">More...</a><br /></td></tr>
<tr class="separator:gad0e125eff304ce66fb3956d2c8c80656"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a52036a97b12fcbe2280b0901a80b90"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga3a52036a97b12fcbe2280b0901a80b90">w25qxx_get_address_mode</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, <a class="el" href="group__w25qxx__basic__driver.html#gaa4c45f146d1ade8a2da8e751818fa4a2">w25qxx_address_mode_t</a> *mode)</td></tr>
<tr class="memdesc:ga3a52036a97b12fcbe2280b0901a80b90"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the chip address mode  <a href="group__w25qxx__basic__driver.html#ga3a52036a97b12fcbe2280b0901a80b90">More...</a><br /></td></tr>
<tr class="separator:ga3a52036a97b12fcbe2280b0901a80b90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e7a163b3d255b8c7fc035d0d60f2491"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga8e7a163b3d255b8c7fc035d0d60f2491">w25qxx_init</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga8e7a163b3d255b8c7fc035d0d60f2491"><td class="mdescLeft">&#160;</td><td class="mdescRight">initialize the chip  <a href="group__w25qxx__basic__driver.html#ga8e7a163b3d255b8c7fc035d0d60f2491">More...</a><br /></td></tr>
<tr class="separator:ga8e7a163b3d255b8c7fc035d0d60f2491"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa293c3a46c4010a3af597a83e646de0d"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#gaa293c3a46c4010a3af597a83e646de0d">w25qxx_deinit</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle)</td></tr>
<tr class="memdesc:gaa293c3a46c4010a3af597a83e646de0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">close the chip  <a href="group__w25qxx__basic__driver.html#gaa293c3a46c4010a3af597a83e646de0d">More...</a><br /></td></tr>
<tr class="separator:gaa293c3a46c4010a3af597a83e646de0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae7479fc9ce911a52e3c5b6f1a615b879"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#gae7479fc9ce911a52e3c5b6f1a615b879">w25qxx_read</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, uint32_t addr, uint8_t *data, uint32_t len)</td></tr>
<tr class="memdesc:gae7479fc9ce911a52e3c5b6f1a615b879"><td class="mdescLeft">&#160;</td><td class="mdescRight">read data  <a href="group__w25qxx__basic__driver.html#gae7479fc9ce911a52e3c5b6f1a615b879">More...</a><br /></td></tr>
<tr class="separator:gae7479fc9ce911a52e3c5b6f1a615b879"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaee8264d840e51460821cb6e609338ee"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#gaaee8264d840e51460821cb6e609338ee">w25qxx_write</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, uint32_t addr, uint8_t *data, uint32_t len)</td></tr>
<tr class="memdesc:gaaee8264d840e51460821cb6e609338ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">write data  <a href="group__w25qxx__basic__driver.html#gaaee8264d840e51460821cb6e609338ee">More...</a><br /></td></tr>
<tr class="separator:gaaee8264d840e51460821cb6e609338ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e9ebf198137d23558dbf6470213c472"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga1e9ebf198137d23558dbf6470213c472">w25qxx_only_spi_read</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, uint32_t addr, uint8_t *data, uint32_t len)</td></tr>
<tr class="memdesc:ga1e9ebf198137d23558dbf6470213c472"><td class="mdescLeft">&#160;</td><td class="mdescRight">read only in the spi interface  <a href="group__w25qxx__basic__driver.html#ga1e9ebf198137d23558dbf6470213c472">More...</a><br /></td></tr>
<tr class="separator:ga1e9ebf198137d23558dbf6470213c472"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac345ba10af5ad355578fa97697487123"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#gac345ba10af5ad355578fa97697487123">w25qxx_fast_read</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, uint32_t addr, uint8_t *data, uint32_t len)</td></tr>
<tr class="memdesc:gac345ba10af5ad355578fa97697487123"><td class="mdescLeft">&#160;</td><td class="mdescRight">read in the fast mode  <a href="group__w25qxx__basic__driver.html#gac345ba10af5ad355578fa97697487123">More...</a><br /></td></tr>
<tr class="separator:gac345ba10af5ad355578fa97697487123"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6280e7e4ab26306436e2c210617a28b3"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga6280e7e4ab26306436e2c210617a28b3">w25qxx_page_program</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, uint32_t addr, uint8_t *data, uint16_t len)</td></tr>
<tr class="memdesc:ga6280e7e4ab26306436e2c210617a28b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">page program  <a href="group__w25qxx__basic__driver.html#ga6280e7e4ab26306436e2c210617a28b3">More...</a><br /></td></tr>
<tr class="separator:ga6280e7e4ab26306436e2c210617a28b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a03c51b4c84655350c15fbfce0a6b40"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga9a03c51b4c84655350c15fbfce0a6b40">w25qxx_sector_erase_4k</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, uint32_t addr)</td></tr>
<tr class="memdesc:ga9a03c51b4c84655350c15fbfce0a6b40"><td class="mdescLeft">&#160;</td><td class="mdescRight">erase the 4k sector  <a href="group__w25qxx__basic__driver.html#ga9a03c51b4c84655350c15fbfce0a6b40">More...</a><br /></td></tr>
<tr class="separator:ga9a03c51b4c84655350c15fbfce0a6b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39c8fb382e8c3e4d57232dfa79af781c"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga39c8fb382e8c3e4d57232dfa79af781c">w25qxx_block_erase_32k</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, uint32_t addr)</td></tr>
<tr class="memdesc:ga39c8fb382e8c3e4d57232dfa79af781c"><td class="mdescLeft">&#160;</td><td class="mdescRight">erase the 32k block  <a href="group__w25qxx__basic__driver.html#ga39c8fb382e8c3e4d57232dfa79af781c">More...</a><br /></td></tr>
<tr class="separator:ga39c8fb382e8c3e4d57232dfa79af781c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf53bc5f6073482b9b74efd417ec7ac83"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#gaf53bc5f6073482b9b74efd417ec7ac83">w25qxx_block_erase_64k</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, uint32_t addr)</td></tr>
<tr class="memdesc:gaf53bc5f6073482b9b74efd417ec7ac83"><td class="mdescLeft">&#160;</td><td class="mdescRight">erase the 64k block  <a href="group__w25qxx__basic__driver.html#gaf53bc5f6073482b9b74efd417ec7ac83">More...</a><br /></td></tr>
<tr class="separator:gaf53bc5f6073482b9b74efd417ec7ac83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0862833b36831f92684980b2e21f2e39"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga0862833b36831f92684980b2e21f2e39">w25qxx_chip_erase</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga0862833b36831f92684980b2e21f2e39"><td class="mdescLeft">&#160;</td><td class="mdescRight">erase the chip  <a href="group__w25qxx__basic__driver.html#ga0862833b36831f92684980b2e21f2e39">More...</a><br /></td></tr>
<tr class="separator:ga0862833b36831f92684980b2e21f2e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4effce67e36120325e3c7b245b90142"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#gae4effce67e36120325e3c7b245b90142">w25qxx_power_down</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle)</td></tr>
<tr class="memdesc:gae4effce67e36120325e3c7b245b90142"><td class="mdescLeft">&#160;</td><td class="mdescRight">power down  <a href="group__w25qxx__basic__driver.html#gae4effce67e36120325e3c7b245b90142">More...</a><br /></td></tr>
<tr class="separator:gae4effce67e36120325e3c7b245b90142"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09c9b52877516a2ee4c080dc249e7331"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga09c9b52877516a2ee4c080dc249e7331">w25qxx_release_power_down</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga09c9b52877516a2ee4c080dc249e7331"><td class="mdescLeft">&#160;</td><td class="mdescRight">release power down  <a href="group__w25qxx__basic__driver.html#ga09c9b52877516a2ee4c080dc249e7331">More...</a><br /></td></tr>
<tr class="separator:ga09c9b52877516a2ee4c080dc249e7331"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga921836a777b082ff4d0f322ccfda6b22"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__w25qxx__basic__driver.html#ga921836a777b082ff4d0f322ccfda6b22">w25qxx_get_manufacturer_device_id</a> (<a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *handle, uint8_t *manufacturer, uint8_t *device_id)</td></tr>
<tr class="memdesc:ga921836a777b082ff4d0f322ccfda6b22"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the manufacturer &amp;&amp; device id information  <a href="group__w25qxx__basic__driver.html#ga921836a777b082ff4d0f322ccfda6b22">More...</a><br /></td></tr>
<tr class="separator:ga921836a777b082ff4d0f322ccfda6b22"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>w25qxx basic driver modules </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga56d8a7b5f8b7eaed8df0b6dc90c266be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga56d8a7b5f8b7eaed8df0b6dc90c266be">&#9670;&nbsp;</a></span>w25qxx_handle_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structw25qxx__handle__s.html">w25qxx_handle_s</a> <a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>w25qxx handle structure definition </p>

</div>
</div>
<a id="ga601d841ddd0ff8ad3ab52e07c679ef19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga601d841ddd0ff8ad3ab52e07c679ef19">&#9670;&nbsp;</a></span>w25qxx_info_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structw25qxx__info__s.html">w25qxx_info_s</a> <a class="el" href="group__w25qxx__basic__driver.html#ga601d841ddd0ff8ad3ab52e07c679ef19">w25qxx_info_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>w25qxx information structure definition </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gaa4c45f146d1ade8a2da8e751818fa4a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa4c45f146d1ade8a2da8e751818fa4a2">&#9670;&nbsp;</a></span>w25qxx_address_mode_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__w25qxx__basic__driver.html#gaa4c45f146d1ade8a2da8e751818fa4a2">w25qxx_address_mode_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>w25qxx address mode enumeration definition </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaa4c45f146d1ade8a2da8e751818fa4a2a3ed0d9a1ce66f96f0ef6baba28869503"></a>W25QXX_ADDRESS_MODE_3_BYTE&#160;</td><td class="fielddoc"><p>3 byte mode </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaa4c45f146d1ade8a2da8e751818fa4a2aa29a90b6728795aa010735e44a5292fe"></a>W25QXX_ADDRESS_MODE_4_BYTE&#160;</td><td class="fielddoc"><p>4 byte mode </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8h_source.html#l00096">96</a> of file <a class="el" href="driver__w25qxx_8h_source.html">driver_w25qxx.h</a>.</p>

</div>
</div>
<a id="gafb2690946f5baf4be6f3a63dde5491fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafb2690946f5baf4be6f3a63dde5491fb">&#9670;&nbsp;</a></span>w25qxx_bool_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__w25qxx__basic__driver.html#gafb2690946f5baf4be6f3a63dde5491fb">w25qxx_bool_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>w25qxx bool enumeration definition </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggafb2690946f5baf4be6f3a63dde5491fba02afbdc2c6c3d761cd31ac39c857ee9a"></a>W25QXX_BOOL_FALSE&#160;</td><td class="fielddoc"><p>false </p>
</td></tr>
<tr><td class="fieldname"><a id="ggafb2690946f5baf4be6f3a63dde5491fbae2a935d12b0b1bc9fc321246ee0e0df8"></a>W25QXX_BOOL_TRUE&#160;</td><td class="fielddoc"><p>true </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8h_source.html#l00087">87</a> of file <a class="el" href="driver__w25qxx_8h_source.html">driver_w25qxx.h</a>.</p>

</div>
</div>
<a id="gacbf327a42336baf10713a1796ff4f2fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacbf327a42336baf10713a1796ff4f2fe">&#9670;&nbsp;</a></span>w25qxx_interface_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__w25qxx__basic__driver.html#gacbf327a42336baf10713a1796ff4f2fe">w25qxx_interface_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>w25qxx interface enumeration definition </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggacbf327a42336baf10713a1796ff4f2feafea09c65f02cf1a91216205ed21cf4e8"></a>W25QXX_INTERFACE_SPI&#160;</td><td class="fielddoc"><p>spi interface </p>
</td></tr>
<tr><td class="fieldname"><a id="ggacbf327a42336baf10713a1796ff4f2fea895dcb5c91da89fad1c12161ffd2d5d4"></a>W25QXX_INTERFACE_QSPI&#160;</td><td class="fielddoc"><p>dspi qspi interface </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8h_source.html#l00078">78</a> of file <a class="el" href="driver__w25qxx_8h_source.html">driver_w25qxx.h</a>.</p>

</div>
</div>
<a id="ga6cb4e5164464df549201dd96cb7a58b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6cb4e5164464df549201dd96cb7a58b1">&#9670;&nbsp;</a></span>w25qxx_type_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__w25qxx__basic__driver.html#ga6cb4e5164464df549201dd96cb7a58b1">w25qxx_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>w25qxx type enumeration definition </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga6cb4e5164464df549201dd96cb7a58b1a1ad4f72437de5f26cb7b212d4d91e7c2"></a>W25Q80&#160;</td><td class="fielddoc"><p>w25q80 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga6cb4e5164464df549201dd96cb7a58b1a66acb81a2d520a7d92ce1d37210c6435"></a>W25Q16&#160;</td><td class="fielddoc"><p>w25q16 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga6cb4e5164464df549201dd96cb7a58b1a4fdad551be6485441db5951f196db7cb"></a>W25Q32&#160;</td><td class="fielddoc"><p>w25q32 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga6cb4e5164464df549201dd96cb7a58b1a3ea98b2b3e06afa29441c51548bbb16e"></a>W25Q64&#160;</td><td class="fielddoc"><p>w25q64 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga6cb4e5164464df549201dd96cb7a58b1a75afcbe71906d3884f4fcc119c1cabd5"></a>W25Q128&#160;</td><td class="fielddoc"><p>w25q128 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga6cb4e5164464df549201dd96cb7a58b1ab6db6bd31731e4e95040e8d47f0e45ca"></a>W25Q256&#160;</td><td class="fielddoc"><p>w25q256 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga6cb4e5164464df549201dd96cb7a58b1a5bd3078157449d9ba4ed74f94e5f6eb0"></a>W25Q512&#160;</td><td class="fielddoc"><p>w25q512 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga6cb4e5164464df549201dd96cb7a58b1a69e58baba71411544e64abea679090bb"></a>W25Q1024&#160;</td><td class="fielddoc"><p>w25q01 </p>
</td></tr>
<tr><td class="fieldname"><a id="gga6cb4e5164464df549201dd96cb7a58b1a8daad13a8f1372188bfb9c4f1abf9667"></a>W25Q2048&#160;</td><td class="fielddoc"><p>w25q02 </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8h_source.html#l00062">62</a> of file <a class="el" href="driver__w25qxx_8h_source.html">driver_w25qxx.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga39c8fb382e8c3e4d57232dfa79af781c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga39c8fb382e8c3e4d57232dfa79af781c">&#9670;&nbsp;</a></span>w25qxx_block_erase_32k()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_block_erase_32k </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>addr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>erase the 32k block </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>erase address </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 block erase 32k failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized</li>
<li>4 addr is invalid</li>
<li>5 address mode is invalid</li>
<li>6 block erase 32k timeout </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l05419">5419</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="gaf53bc5f6073482b9b74efd417ec7ac83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf53bc5f6073482b9b74efd417ec7ac83">&#9670;&nbsp;</a></span>w25qxx_block_erase_64k()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_block_erase_64k </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>addr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>erase the 64k block </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>erase address </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 block erase 64k failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized</li>
<li>4 addr is invalid</li>
<li>5 address mode is invalid</li>
<li>6 block erase 64k timeout </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l05758">5758</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga0862833b36831f92684980b2e21f2e39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0862833b36831f92684980b2e21f2e39">&#9670;&nbsp;</a></span>w25qxx_chip_erase()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_chip_erase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>erase the chip </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 chip erase failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized</li>
<li>4 erase timeout </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l01459">1459</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="gaa293c3a46c4010a3af597a83e646de0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa293c3a46c4010a3af597a83e646de0d">&#9670;&nbsp;</a></span>w25qxx_deinit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_deinit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>close the chip </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 spi or qspi deinit failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized</li>
<li>4 power down failed </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l07195">7195</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="gac345ba10af5ad355578fa97697487123"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac345ba10af5ad355578fa97697487123">&#9670;&nbsp;</a></span>w25qxx_fast_read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_fast_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>read in the fast mode </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>read address </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">*data</td><td>pointer to a data buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>data length </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 fast read failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized</li>
<li>4 address mode is invalid </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l03634">3634</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga3a52036a97b12fcbe2280b0901a80b90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3a52036a97b12fcbe2280b0901a80b90">&#9670;&nbsp;</a></span>w25qxx_get_address_mode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_get_address_mode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#gaa4c45f146d1ade8a2da8e751818fa4a2">w25qxx_address_mode_t</a> *&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get the chip address mode </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">*mode</td><td>pointer to an address mode buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l00405">405</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="gad4c9b8b0a2d0916c13567f9d7e494cf8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad4c9b8b0a2d0916c13567f9d7e494cf8">&#9670;&nbsp;</a></span>w25qxx_get_dual_quad_spi()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_get_dual_quad_spi </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#gafb2690946f5baf4be6f3a63dde5491fb">w25qxx_bool_t</a> *&#160;</td>
          <td class="paramname"><em>enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get the dual quad spi status </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">*enable</td><td>pointer to a bool value buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>2 handle is NULL </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l00196">196</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga86ef839d475f3926a0be46bbc18d4b45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga86ef839d475f3926a0be46bbc18d4b45">&#9670;&nbsp;</a></span>w25qxx_get_interface()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_get_interface </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#gacbf327a42336baf10713a1796ff4f2fe">w25qxx_interface_t</a> *&#160;</td>
          <td class="paramname"><em>interface</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get the chip interface </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">*interface</td><td>pointer to a chip interface buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>2 handle is NULL </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l00280">280</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga921836a777b082ff4d0f322ccfda6b22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga921836a777b082ff4d0f322ccfda6b22">&#9670;&nbsp;</a></span>w25qxx_get_manufacturer_device_id()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_get_manufacturer_device_id </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>manufacturer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>device_id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get the manufacturer &amp;&amp; device id information </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">*manufacturer</td><td>pointer to a manufacturer buffer </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">*device_id</td><td>pointer to a device id buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 get manufacturer device id failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l01952">1952</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga685379998dad173b6d9c0b0da270685c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga685379998dad173b6d9c0b0da270685c">&#9670;&nbsp;</a></span>w25qxx_get_type()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_get_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga6cb4e5164464df549201dd96cb7a58b1">w25qxx_type_t</a> *&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get the chip type </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">*type</td><td>pointer to a chip type buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>2 handle is NULL </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l00238">238</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga996e2d3009432e7f8c1a5175c4438a57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga996e2d3009432e7f8c1a5175c4438a57">&#9670;&nbsp;</a></span>w25qxx_info()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga601d841ddd0ff8ad3ab52e07c679ef19">w25qxx_info_t</a> *&#160;</td>
          <td class="paramname"><em>info</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get chip's information </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">*info</td><td>pointer to a w25qxx info structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>2 handle is NULL </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l08566">8566</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga8e7a163b3d255b8c7fc035d0d60f2491"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8e7a163b3d255b8c7fc035d0d60f2491">&#9670;&nbsp;</a></span>w25qxx_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>initialize the chip </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 spi or qspi initialization failed</li>
<li>2 handle is NULL</li>
<li>3 linked functions is NULL</li>
<li>4 get manufacturer device id failed</li>
<li>5 enter qspi failed</li>
<li>6 id is invalid</li>
<li>7 reset failed</li>
<li>8 set address mode failed </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l06819">6819</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga1e9ebf198137d23558dbf6470213c472"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1e9ebf198137d23558dbf6470213c472">&#9670;&nbsp;</a></span>w25qxx_only_spi_read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_only_spi_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>read only in the spi interface </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>read address </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">*data</td><td>pointer to a data buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>data length </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 only spi read failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized</li>
<li>4 address mode is invalid</li>
<li>5 only spi interface can use this function </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l03465">3465</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga6280e7e4ab26306436e2c210617a28b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6280e7e4ab26306436e2c210617a28b3">&#9670;&nbsp;</a></span>w25qxx_page_program()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_page_program </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>page program </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>programming address </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*data</td><td>pointer to a data buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>data length </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 page program failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized</li>
<li>4 addr is invalid</li>
<li>5 address mode is invalid</li>
<li>6 page program timeout</li>
<li>7 length is over 256 </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>len &lt;= 256 </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l04569">4569</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="gae4effce67e36120325e3c7b245b90142"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae4effce67e36120325e3c7b245b90142">&#9670;&nbsp;</a></span>w25qxx_power_down()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_power_down </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>power down </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 power down failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l01792">1792</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="gae7479fc9ce911a52e3c5b6f1a615b879"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae7479fc9ce911a52e3c5b6f1a615b879">&#9670;&nbsp;</a></span>w25qxx_read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>read data </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>read address </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">*data</td><td>pointer to a data buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>data length </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 read failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized</li>
<li>4 address mode is invalid </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l07289">7289</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga09c9b52877516a2ee4c080dc249e7331"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga09c9b52877516a2ee4c080dc249e7331">&#9670;&nbsp;</a></span>w25qxx_release_power_down()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_release_power_down </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>release power down </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 release power down failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l01875">1875</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga9a03c51b4c84655350c15fbfce0a6b40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9a03c51b4c84655350c15fbfce0a6b40">&#9670;&nbsp;</a></span>w25qxx_sector_erase_4k()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_sector_erase_4k </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>addr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>erase the 4k sector </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>erase address </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 sector erase 4k failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized</li>
<li>4 addr is invalid</li>
<li>5 address mode is invalid</li>
<li>6 sector erase 4k timeout </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l05080">5080</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="gad0e125eff304ce66fb3956d2c8c80656"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad0e125eff304ce66fb3956d2c8c80656">&#9670;&nbsp;</a></span>w25qxx_set_address_mode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_set_address_mode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#gaa4c45f146d1ade8a2da8e751818fa4a2">w25qxx_address_mode_t</a>&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>set the chip address mode </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>address mode </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 set address mode failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized</li>
<li>4 current type can't use this function </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l00304">304</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga665139209b0abc386474a78d89cce6f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga665139209b0abc386474a78d89cce6f2">&#9670;&nbsp;</a></span>w25qxx_set_dual_quad_spi()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_set_dual_quad_spi </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#gafb2690946f5baf4be6f3a63dde5491fb">w25qxx_bool_t</a>&#160;</td>
          <td class="paramname"><em>enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>enable or disable the dual quad spi </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">enable</td><td>bool value </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>2 handle is NULL </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l00175">175</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="ga50a62003d566402d46ada2f272c41eb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga50a62003d566402d46ada2f272c41eb5">&#9670;&nbsp;</a></span>w25qxx_set_interface()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_set_interface </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#gacbf327a42336baf10713a1796ff4f2fe">w25qxx_interface_t</a>&#160;</td>
          <td class="paramname"><em>interface</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>set the chip interface </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">interface</td><td>chip interface </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>2 handle is NULL </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l00259">259</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="gaa57189cd4170b73f8b1300ca15e27de6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa57189cd4170b73f8b1300ca15e27de6">&#9670;&nbsp;</a></span>w25qxx_set_type()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_set_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga6cb4e5164464df549201dd96cb7a58b1">w25qxx_type_t</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>set the chip type </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>chip type </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>2 handle is NULL </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l00217">217</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
<a id="gaaee8264d840e51460821cb6e609338ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaee8264d840e51460821cb6e609338ee">&#9670;&nbsp;</a></span>w25qxx_write()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t w25qxx_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__w25qxx__basic__driver.html#ga56d8a7b5f8b7eaed8df0b6dc90c266be">w25qxx_handle_t</a> *&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>write data </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*handle</td><td>pointer to a w25qxx handle structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">addr</td><td>written address </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*data</td><td>pointer to a data buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>data length </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status code<ul>
<li>0 success</li>
<li>1 write failed</li>
<li>2 handle is NULL</li>
<li>3 handle is not initialized</li>
<li>4 read failed</li>
<li>5 erase sector failed </li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>none </dd></dl>

<p class="definition">Definition at line <a class="el" href="driver__w25qxx_8c_source.html#l08415">8415</a> of file <a class="el" href="driver__w25qxx_8c_source.html">driver_w25qxx.c</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
